/******************************************************************
******** 
 * ++ 
 * Author:    Team 1
 * Module Name  :  Board.h
 * 
 * Description  : Source file for class Board
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
 *                
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
 * 
 * Mod. History :  18.06.13 - Truong Cong Hau
 *                            File first created 
 *                            MP PROJECT 
 *						      Initialize, control and manage main function of program
 * -- 
 
*******************************************************************
*****/

#pragma once
#ifndef CHESSPIECE_H
#define CHESSPIECE_H

class ChessPiece
{
public:
	//
	ChessPiece(void);
	//
	~ChessPiece(void);
	//
	void SetImage(std::string fileDir);
	//void SetXPosition(int x);
	//int GetXPosition();
	//void SetYPosition(int y);
	//int GetYPosition();
	//
	void SetRow(int inputRow);
	//
	int GetRow();
	//
	void SetCollumn(int inputCollumn);
	//
	int GetCollumn();
	//
	void SetDeactive();
	//
	void SetActive();
	//
	bool IsActive();
	//
	void Update();
	//
	void ChangeSelectedState();
	//
	bool IsSelected();
	//
	void SetSelectedImage(std::string fileDir);
	//
	void  Draw(Gdiplus::Graphics &graphics);
	//
	void SetRedSide(bool side);
	//
	bool IsRedSide();
	//
	bool virtual CanMoveTo(POINT currPos, POINT newPos);
	//
	void virtual WriteLogPieceTurn(HWND hListBox,bool isRedSide, POINT currPos, POINT newPos);
	
private:
	POINT boardPosition;
	POINT drawPosition;
	bool isActive;
	bool isSelected;
	bool isRedSide;
	GdiplusImagePtr selectedImagePointer;
	GdiplusImagePtr ImagePointer;
	//Board m_pBoard;
};
#endif
